package org.opens.hutool.convert;

import cn.hutool.core.convert.Convert;
import cn.hutool.core.util.CharsetUtil;
import org.junit.Test;

import java.io.UnsupportedEncodingException;

public class CharSetConvert {

    /**
     * 功能:
     *      实现字符串编码转换.
     * 输出:
     *      张颖
     *      å¼ é¢
     *      张颖
     *      å¼ é¢
     *      张颖
     * 说明:
     *      1. 这种方式和传统的使用一种编码将字符串转换为Byte[], 然后在使用一种编码对这个Byte[]进行编码的效果是一样的.
     */
    @Test
    public void test1() throws UnsupportedEncodingException {
        String str = "张颖";
        String result1 = Convert.convertCharset(str, CharsetUtil.UTF_8, CharsetUtil.ISO_8859_1);
        String result2 = Convert.convertCharset(result1, CharsetUtil.ISO_8859_1, CharsetUtil.UTF_8);

        System.out.println(str);
        System.out.println(result1);
        System.out.println(result2);

        String result3 = new String(str.getBytes(CharsetUtil.UTF_8), CharsetUtil.ISO_8859_1);
        String result4 = new String(result3.getBytes(CharsetUtil.ISO_8859_1), CharsetUtil.UTF_8);

        System.out.println(result3);
        System.out.println(result4);
    }

}
